public class Main{
    //println会转行
    //print不会转行
    public static void main1(String[] args) {
        int a = 10;
        String str = "abcd";
        System.out.println(a);
        System.out.println(str);
        System.out.println("--------去除ln----------");
        System.out.print(a);
        System.out.print(str);
    }


    //整形变量(int),int的包装类型为integer 4个字节
    public static void main2(String[] args) {
        //第一种定义方式
        int b = 10;
        System.out.println(b);

        //第二种定义方式
        int c;
        c = 10;
        System.out.println(c);

        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
    }

    //长整型(long)   8个字节
    public static void main3(String[] args) {
        long d = 10L;
        System.out.println(d);
        System.out.println(Long.MIN_VALUE);
        System.out.println(Long.MAX_VALUE);
    }

    //短整型(short)  2个字节
    public static void main4(String[] args) {
        short e = 20;
        System.out.println(e);
        System.out.println(Short.MAX_VALUE);
        System.out.println(Short.MIN_VALUE);
    }

    //字节型（byte） 1个字节
    public static void main5(String[] args) {
        byte f = 1;
        System.out.println(f);
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);
    }

    //单精度浮点数（float） 4个字节
    public static void main6(String[] args) {
        float g = 1.08f;
        System.out.println(g);
    }

    //双精度浮点数（double） 8个字节
    public static void main7(String[] args) {
        double h = 9.098;
        System.out.println(h);
        System.out.println(Double.MAX_VALUE);
        System.out.println(Double.MIN_VALUE);
    }

    //字符型（char） 2个字节
    public static void main8(String[] args) {
        char ch1 = 97;
        char ch2 = '顾';
        System.out.println(ch1);
        System.out.println(ch2);
        System.out.println(Character.MAX_VALUE);
        System.out.println(Character.MIN_VALUE);
    }

    //数据类型转换
    //1.自动类型转换(隐式)   特点：数据范围小的转为据范围大的时会自动进行。
    public static void main9(String[] args) {
        byte a = 10;
        int b  = a;
        System.out.println(b);
    }

    //强制类型转换(显式)  特点：数据范围大的到数据范围小的。
    public static void main10(String[] args) {
        long a = 10L;
        int b  = 20;
        b = (int)a;
        System.out.println(b);
    }

    //类型提升
    //1.int与long之间：int会被提升为long
    public static void main11(String[] args) {
        int a = 10;
        long b = 20L;
        long c = a + b;
        System.out.println(c);
    }

    //2. byte与byte的运算
    public static void main12(String[] args) {
        byte a = 10;
        byte b = 20;
        //对于小于4个字节的运算  会先把小于4个字节的 提升为4个字节
        int c = a + b;
        byte c2 = (byte)(a + b);
        System.out.println(c);
    }

    //字符串类型(String)
    public static void main13(String[] args) {
        String str1 = "avcdasd";
        String str2 = "hello";
        System.out.println(str1);
        System.out.println(str2);
    }

    //int 转 String
    public static void main14(String[] args) {
        int num = 10;
        //方法一
        String str1 = num + "";
        System.out.println(str1);
        //方法二
        String str2 = String.valueOf(num);
        System.out.println(str2);
    }
    //String 转 int
    public static void main15(String[] args) {
        String str1 = "123";
        int num = Integer.parseInt(str1);
        System.out.println(num + 1);
    }
}